<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>Terminfo</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font>
</center>
<hr size=2 noshade><blockquote>
<h2><a name = "tag_002">&nbsp;</a>Terminfo Source Format (ENHANCED CURSES)</h2>
<xref type="1" name="chapTERMINFO"></xref>
The requirements in this chapter are in effect only for implementations
that claim Enhanced Curses compliance.
<p>
The <b>terminfo</b> database contains a description of the capabilities of a
variety of devices, such as terminals and printers.  Devices are described by
specifying a set of capabilities, by quantifying certain aspects of the
device, and by specifying character sequences that effect particular results.
<p>
This chapter specifies the format of <b>terminfo</b> source files.
<p>
X/Open-compliant implementations must provide a facility that accepts
source files in the format specified in this chapter as a means of
entering information into the <b>terminfo</b> database.
The facility for installing this information into the database
is implementation-specific.  A valid <b>terminfo</b> entry describing
a given model of terminal can be added to <b>terminfo</b> on any
X/Open-compliant implementation to permit use of the same terminal model.
<p>
<p>
<xref href=terminfo_syntax><a href="#tag_002_001">
Source File Syntax
</a></xref>
describes the syntax of <b>terminfo</b> source files.  A grammar
and lexical conventions appear in
<xref href=terminfo_grammar><a href="#tag_002_001_002">
Formal Grammar
</a></xref>.
A list of all terminal capabilities defined by X/Open appears in
<xref href=caplist><a href="#tag_002_001_003">
Defined Capabilities
</a></xref>.
An example follows in
<xref href=sampleentry><a href="#tag_002_001_004">
Sample Entry
</a></xref>.
<xref href=terminfo_device></xref>
describes the specification of devices in general, such as video terminals.
<xref href=terminfo_printer></xref>
describes the specification of printers.
<p>
The <b>terminfo</b> database is often used by screen-oriented applications such
as <b>vi</b> and Curses
programs, as well as by some utilities such as <b>ls</b> and <b>more</b>.  This
usage allows them to work with a variety of devices without changes to the
programs.
<h3><a name = "tag_002_001">&nbsp;</a>Source File Syntax</h3>
<xref type="2" name="terminfo_syntax"></xref>
Source files can use the ISO 8859-1 codeset.  The behaviour when the source
file is in another codeset is unspecified.  Traditional practice has been to
translate information from other codesets into the source file syntax.
<p>
<b>terminfo</b> source files consist of one or more device descriptions.
Each description defines a mnemonic name for the terminal model.  Each
description consists of a header (beginning in column 1) and one or more lines
that list the features for that particular device.  Every line in a
<b>terminfo</b> source file must end in a comma.  Every line in a
<b>terminfo</b> source file except the header must be indented with one or more
white spaces (either spaces or tabs).
<p>
Entries in <b>terminfo</b> source files consist of a number of comma-separated
fields.  White space after each comma is ignored.  Embedded commas must be
escaped by using a backslash.  The following example shows the format of a
<b>terminfo</b> source file:
delim $$
delim off
The first line, commonly referred to as the header line, must begin in column
one and must contain at least two aliases separated by vertical bars.  The
last field in the header line must be the long name of the device and it may
contain any string.
<p>
Alias names must be unique in the <b>terminfo</b> database
and they must conform to file naming conventions established by
implementation-specific <b>terminfo</b> compilation utilities.
Implementations will recognise alias names consisting only of characters
from the portable filename character set except that implementations 
need not accept a first character  of minus (-).
For example, a
typical restriction is that they cannot contain white space or
slashes.  There may be further constraints imposed on source file values by
the implementation-specific <b>terminfo</b> compilation utilities.
<xref href=aliasconventions></xref>
provides conventions for choosing alias names.
<p>
Each capability in <b>terminfo</b> is of one of the following types:
<ul>
<p>
<li>
Boolean capabilities show that a device has or does not have a particular
feature.
<p>
<li>
Numeric capabilities quantify particular features of a device.
<p>
<li>
String capabilities provide sequences that can be used to perform
particular operations on devices.
<p>
</ul>
<p>
Capability names adhere to an informal length limit of five
characters.  Whenever possible, capability
names are chosen to be the same as or similar to those specified by the
ANSI X3.64-1979 standard.  Semantics are also intended to match those of the ANSI standard.
<p>
All string capabilities may have padding specified, with the exception of
those used for input.  Input capabilities, listed under the <b>Strings</b>
section in the following tables, have names beginning with <b>key_</b>.  These
capabilities are defined in
<i><a href="term.h.html">&lt;term.h&gt;</a></i>.
<br>
<h4><a name = "tag_002_001_001">&nbsp;</a>Minimum Guaranteed Limits</h4>
<xref type="3" name="minmax"></xref>
All X/Open-compliant implementations support at least the following limits
for the <b>terminfo</b> source file:
<p><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=center><b>Source File Characteristic</b>
<th align=center><b>Minimum Guaranteed Value</b>
<tr valign=top><td align=left>Length of a line
<td align=left>1023 bytes
<tr valign=top><td align=left>Length of a terminal alias
<td align=left>14 bytes
<tr valign=top><td align=left>Length of a terminal model name
<td align=left>128 bytes
<tr valign=top><td align=left>Width of a single field
<td align=left>128 bytes
<tr valign=top><td align=left>Length of a string value
<td align=left>1000 bytes
<tr valign=top><td align=left>Length of a string representing a numeric value
<td align=left>99 digits
<tr valign=top><td align=left>Magnitude of a numeric value
<td align=left>0 up to and including 32767
</table>
An implementation may support higher limits than those specified above.
<h4><a name = "tag_002_001_002">&nbsp;</a>Formal Grammar</h4>
<xref type="3" name="terminfo_grammar"></xref>
The grammar and lexical conventions in this section together
describe the syntax for <b>terminfo</b> terminal descriptions within a terminfo
source file.  A terminal description that satisfies the requirements of this
section will be accepted by all implementations.
<pre>
<code>
descriptions : START_OF_HEADER_LINE  rest_of_header_line feature_lines
          | descriptions START_OF_HEADER_LINE rest_of_header_line 
          | feature_lines
          ;
An ALIAS that begins in column one.  This is handled by the lexical analyzer.

rest_of_header_line : PIPE LONGNAME COMMA NEWLINE
          | aliases PIPE LONGNAME COMMA NEWLINE
          ;

feature_lines : start_feature_line rest_of_feature_line
          | feature_lines start_feature_line rest_of_feature_line
          ;

start_feature_line : START_FEATURE_LINE_BOOLEAN
A BOOLEAN feature that begins after column one but is the first
feature on the feature line.  This is handled by the lexical analyzer.
          | START_FEATURE_LINE_NUMERIC
A NUMERIC feature that begins after column one but is the first
feature on the feature line.  This is handled by the lexical analyzer.
          | START_FEATURE_LINE_STRING
A STRING feature that begins after column one but is the first
feature on the feature line.  This is handled by the lexical analyzer.
          ;

rest_of_feature_line : features COMMA NEWLINE
          | COMMA NEWLINE
          ;

features : COMMA feature
          | features COMMA feature
          ;

aliases : PIPE ALIAS
          | aliases PIPE ALIAS
          ;

feature : BOOLEAN
          | NUMERIC
          | STRING
          ;
</code>
</pre>
The lexical conventions for <b>terminfo</b> descriptions are as follows:
<ol>
<p>
<li>
White space consists of the ' ' and &lt;tab&gt; character.
<p>
<li>
An ALIAS may contain any graph characters other than ',','/' and '|'.
Graph characters are those characters for which
<i><a href="../xsh/isgraph.html">isgraph()</a></i>
returns non-zero.
<p>
<li>
A LONGNAME may contain any print characters other than ',' and '|'.
Print characters are those characters for which
<i><a href="../xsh/isprint.html">isprint()</a></i>
returns non-zero.
<p>
<li>
A BOOLEAN feature may contain any print characters other
than ',', '=', and '#'.
<p>
<li>
A NUMERIC feature consists of:
<ol type = a>
<p>
<li>
A name which may contain any print character other than ',', '=', and '#'.
<p>
<li>
The '#' character.
<p>
<li>
A positive integer which conforms to the C language
convention for integer constants.
<p>
</ol>
<p>
<li>
A STRING feature consists of:
<ol type = a>
<p>
<li>
A name which may contain any print character other than ',', '=', and '#'.
<p>
<li>
The '=' character.
<p>
<li>
A string which may contain any print characters other than ','.
<p>
</ol>
<p>
<li>
White space immediately following a ',' is ignored.
<p>
<li>
Comments consist of &lt;bol&gt;, optional whitespace, a required '#',
and a terminating &lt;eol&gt;.
<p>
<li>
A header line must begin in column one.
<p>
<li>
A feature line must not begin in column one.
<p>
<li>
Blank lines are ignored.
<p>
</ol>
<h4><a name = "tag_002_001_003">&nbsp;</a>Defined Capabilities</h4>
<xref type="3" name="caplist"></xref>
X/Open defines the capabilities listed in the following table.  All
X/Open-compliant implementations must accept each of these capabilities in an
entry in a <b>terminfo</b> source file.
Implementations use this information to determine how properly to operate
the current terminal.  In addition, implementations return any of the current
terminal's capabilities when the application calls the query functions listed
in
<xref href=tgetent><a href="tgetent.html#tag_002_001">
Source File Syntax
</a></xref>
(in the cases where the following table lists a
<b>Termcap</b>
code) and
<xref href=tigetflag><a href="tigetflag.html#tag_002_001">
Source File Syntax
</a></xref>.
<p>
The table of capabilities has the following columns:
<dl compact>

<dt><b>Variable</b><dd>Names for use by the Curses functions that operate on the <b>terminfo</b>
database.  These names are reserved and the application must not define them.

<dt><b>Capname</b><dd>The short name for a capability specified in the <b>terminfo</b> source file.
It is used for updating the source file and by the <i>tput</i> command.

<dt><b>Termcap</b><dd>Codes provided for compatibility with older applications.  These codes
are <b>TO BE WITHDRAWN</b>.  Because of this, not all <b>Capname</b>s have
<b>Termcap</b> codes.

</dl>
<h5><a name = "tag_002_001_003_001">&nbsp;</a>Booleans</h5>
<p><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=left><b></b>
<th align=left><b>Cap-</b>
<th align=left><b>Term-</b>
<th align=left><b></b>
<tr valign=top><th align=left><b>Variable</b>
<th align=left><b>name</b>
<th align=left><b>cap</b>
<th align=left><b>Description</b>
<tr valign=top><td align=left>auto_left_margin
<td align=left><b>bw</b>
<td align=left>bw
<td align=left><b>cub1</b> wraps from column 0 to last column
<tr valign=top><td align=left>auto_right_margin
<td align=left><b>am</b>
<td align=left>am
<td align=left>Terminal has automatic margins
<tr valign=top><td align=left>back_color_erase
<td align=left><b>bce</b>
<td align=left>ut
<td align=left>Screen erased with background colour
<tr valign=top><td align=left>can_change
<td align=left><b>ccc</b>
<td align=left>cc
<td align=left>Terminal can re-define existing colour
<tr valign=top><td align=left>ceol_standout_glitch
<td align=left><b>xhp</b>
<td align=left>xs
<td align=left>Standout not erased by overwriting (hp)
<tr valign=top><td align=left>col_addr_glitch
<td align=left><b>xhpa</b>
<td align=left>YA
<td align=left>Only positive motion for <b>hpa</b>/<b>mhpa</b> caps
<tr valign=top><td align=left>cpi_changes_res
<td align=left><b>cpix</b>
<td align=left>YF
<td align=left>Changing character pitch changes resolution
<tr valign=top><td align=left>cr_cancels_micro_mode
<td align=left><b>crxm</b>
<td align=left>YB
<td align=left>Using <b>cr</b> turns off micro mode
<tr valign=top><td align=left>dest_tabs_magic_smso
<td align=left><b>xt</b>
<td align=left>xt
<td align=left>Destructive tabs, magic <b>smso</b> char (t1061)
<tr valign=top><td align=left>eat_newline_glitch
<td align=left><b>xenl</b>
<td align=left>xn
<td align=left>Newline ignored after 80 columns (Concept)
<tr valign=top><td align=left>erase_overstrike
<td align=left><b>eo</b>
<td align=left>eo
<td align=left>Can erase overstrikes with a blank
<tr valign=top><td align=left>generic_type
<td align=left><b>gn</b>
<td align=left>gn
<td align=left>Generic line type (<i>e.g.</i>, dialup, switch)
<tr valign=top><td align=left>hard_copy
<td align=left><b>hc</b>
<td align=left>hc
<td align=left>Hardcopy terminal
<tr valign=top><td align=left>hard_cursor
<td align=left><b>chts</b>
<td align=left>HC
<td align=left>Cursor is hard to see
<tr valign=top><td align=left>has_meta_key
<td align=left><b>km</b>
<td align=left>km
<td align=left>Has a meta key (shift, sets parity bit)
<tr valign=top><td align=left>has_print_wheel
<td align=left><b>daisy</b>
<td align=left>YC
<td align=left>Printer needs operator to change
<tr valign=top><td align=left>
<td align=left><b></b>
<td align=left>
<td align=left>character set
<tr valign=top><td align=left>has_status_line
<td align=left><b>hs</b>
<td align=left>hs
<td align=left>Has extra "status line"
<tr valign=top><td align=left>hue_lightness_saturation
<td align=left><b>hls</b>
<td align=left>hl
<td align=left>Terminal uses only HLS colour
<tr valign=top><td align=left>
<td align=left><b></b>
<td align=left>
<td align=left>notation (Tektronix)
<tr valign=top><td align=left>insert_null_glitch
<td align=left><b>in</b>
<td align=left>in
<td align=left>Insert mode distinguishes nulls
<tr valign=top><td align=left>lpi_changes_res
<td align=left><b>lpix</b>
<td align=left>YG
<td align=left>Changing line pitch changes resolution
<tr valign=top><td align=left>memory_above
<td align=left><b>da</b>
<td align=left>da
<td align=left>Display may be retained above the screen
<tr valign=top><td align=left>memory_below
<td align=left><b>db</b>
<td align=left>db
<td align=left>Display may be retained below the screen
<tr valign=top><td align=left>move_insert_mode
<td align=left><b>mir</b>
<td align=left>mi
<td align=left>Safe to move while in insert mode
<tr valign=top><td align=left>move_standout_mode
<td align=left><b>msgr</b>
<td align=left>ms
<td align=left>Safe to move in standout modes
<tr valign=top><td align=left>needs_xon_xoff
<td align=left><b>nxon</b>
<td align=left>nx
<td align=left>Padding won't work, xon/xoff required
<tr valign=top><td align=left>no_esc_ctlc
<td align=left><b>xsb</b>
<td align=left>xb
<td align=left>Beehive (f1=escape, f2=ctrl C)
<tr valign=top><td align=left>no_pad_char
<td align=left><b>npc</b>
<td align=left>NP
<td align=left>Pad character doesn't exist
<tr valign=top><td align=left>non_dest_scroll_region
<td align=left><b>ndscr</b>
<td align=left>ND
<td align=left>Scrolling region is nondestructive
<tr valign=top><td align=left>non_rev_rmcup
<td align=left><b>nrrmc</b>
<td align=left>NR
<td align=left><b>smcup</b> does not reverse <b>rmcup</b>
<tr valign=top><td align=left>over_strike
<td align=left><b>os</b>
<td align=left>os
<td align=left>Terminal overstrikes on hard-copy terminal
<tr valign=top><td align=left>prtr_silent
<td align=left><b>mc5i</b>
<td align=left>5i
<td align=left>Printer won't echo on screen
<tr valign=top><td align=left>row_addr_glitch
<td align=left><b>xvpa</b>
<td align=left>YD
<td align=left>Only positive motion for <b>vpa</b>/<b>mvpa</b> caps
<tr valign=top><td align=left>semi_auto_right_margin
<td align=left><b>sam</b>
<td align=left>YE
<td align=left>Printing in last column causes <b>cr</b>
<tr valign=top><td align=left>status_line_esc_ok
<td align=left><b>eslok</b>
<td align=left>es
<td align=left>Escape can be used on the status line
<tr valign=top><td align=left>tilde_glitch
<td align=left><b>hz</b>
<td align=left>hz
<td align=left>Hazeltine; can't print tilde (~)
<tr valign=top><td align=left>transparent_underline
<td align=left><b>ul</b>
<td align=left>ul
<td align=left>Underline character overstrikes
<tr valign=top><td align=left>xon_xoff
<td align=left><b>xon</b>
<td align=left>xo
<td align=left>Terminal uses xon/xoff handshaking
</table>
<h5><a name = "tag_002_001_003_002">&nbsp;</a>Numbers</h5>
<p><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=left><b></b>
<th align=left><b>Cap-</b>
<th align=left><b>Term-</b>
<th align=left><b></b>
<tr valign=top><th align=left><b>Variable</b>
<th align=left><b>name</b>
<th align=left><b>cap</b>
<th align=left><b>Description</b>
<tr valign=top><td align=center>bit_image_entwining
<td align=left><b>bitwin</b>
<td align=center>Yo
<td align=left>Number of passes for each bit-map row
<tr valign=top><td align=center>bit_image_type
<td align=left><b>bitype</b>
<td align=center>Yp
<td align=left>Type of bit image device
<tr valign=top><td align=center>buffer_capacity
<td align=left><b>bufsz</b>
<td align=center>Ya
<td align=left>Number of bytes buffered before printing
<tr valign=top><td align=center>buttons
<td align=left><b>btns</b>
<td align=center>BT
<td align=left>Number of buttons on the mouse
<tr valign=top><td align=center>columns
<td align=left><b>cols</b>
<td align=center>co
<td align=left>Number of columns in a line
<tr valign=top><td align=center>dot_horz_spacing
<td align=left><b>spinh</b>
<td align=center>Yc
<td align=left>Spacing of dots horizontally in dots per inch
<tr valign=top><td align=center>dot_vert_spacing
<td align=left><b>spinv</b>
<td align=center>Yb
<td align=left>Spacing of pins vertically in pins per inch
<tr valign=top><td align=center>init_tabs
<td align=left><b>it</b>
<td align=center>it
<td align=left>Tabs initially every # spaces
<tr valign=top><td align=center>label_height
<td align=left><b>lh</b>
<td align=center>lh
<td align=left>Number of rows in each label
<tr valign=top><td align=center>label_width
<td align=left><b>lw</b>
<td align=center>lw
<td align=left>Number of columns in each label
<tr valign=top><td align=center>lines
<td align=left><b>lines</b>
<td align=center>li
<td align=left>Number of lines on a screen or a page
<tr valign=top><td align=center>lines_of_memory
<td align=left><b>lm</b>
<td align=center>lm
<td align=left>Lines of memory if &gt; <b>lines</b>; 0 means varies
<tr valign=top><td align=center>max_attributes
<td align=left><b>ma</b>
<td align=center>ma
<td align=left> Maximum combined video attributes terminal can display 
<tr valign=top><td align=center>magic_cookie_glitch
<td align=left><b>xmc</b>
<td align=center>sg
<td align=left>Number of blank characters left by <b>smso</b> or <b>rmso</b>
<tr valign=top><td align=center>max_colors
<td align=left><b>colors</b>
<td align=center>Co
<td align=left>Maximum number of colours on the screen
<tr valign=top><td align=center>max_micro_address
<td align=left><b>maddr</b>
<td align=center>Yd
<td align=left>Maximum value in <b>micro_..._address</b>
<tr valign=top><td align=center>max_micro_jump
<td align=left><b>mjump</b>
<td align=center>Ye
<td align=left>Maximum value in <b>parm_..._micro</b>
<tr valign=top><td align=center>max_pairs
<td align=left><b>pairs</b>
<td align=center>pa
<td align=left>Maximum number of colour-pairs on the screen
<tr valign=top><td align=center>maximum_windows
<td align=left><b>wnum</b>
<td align=center>MW
<td align=left>Maximum number of definable windows
<tr valign=top><td align=center>micro_col_size
<td align=left><b>mcs</b>
<td align=center>Yf
<td align=left>Character step size when in micro mode
<tr valign=top><td align=center>micro_line_size
<td align=left><b>mls</b>
<td align=center>Yg
<td align=left>Line step size when in micro mode
<tr valign=top><td align=center>no_color_video
<td align=left><b>ncv</b>
<td align=center>NC
<td align=left>Video attributes that can't be used with colours
<tr valign=top><td align=center>num_labels
<td align=left><b>nlab</b>
<td align=center>Nl
<td align=left>Number of labels on screen (start at 1)
<tr valign=top><td align=center>number_of_pins
<td align=left><b>npins</b>
<td align=center>Yh
<td align=left>Number of pins in print-head
<tr valign=top><td align=center>output_res_char
<td align=left><b>orc</b>
<td align=center>Yi
<td align=left>Horizontal resolution in units per character
<tr valign=top><td align=center>output_res_line
<td align=left><b>orl</b>
<td align=center>Yj
<td align=left>Vertical resolution in units per line
<tr valign=top><td align=center>output_res_horz_inch
<td align=left><b>orhi</b>
<td align=center>Yk
<td align=left>Horizontal resolution in units per inch
<tr valign=top><td align=center>output_res_vert_inch
<td align=left><b>orvi</b>
<td align=center>Yl
<td align=left>Vertical resolution in units per inch
<tr valign=top><td align=center>padding_baud_rate
<td align=left><b>pb</b>
<td align=center>pb
<td align=left>Lowest baud rate where padding needed
<tr valign=top><td align=center>print_rate
<td align=left><b>cps</b>
<td align=center>Ym
<td align=left>Print rate in characters per second
<tr valign=top><td align=center>virtual_terminal
<td align=left><b>vt</b>
<td align=center>vt
<td align=left>Virtual terminal number
<tr valign=top><td align=center>wide_char_size
<td align=left><b>widcs</b>
<td align=center>Yn
<td align=left>Character step size when in double-wide mode
<tr valign=top><td align=center>width_status_line
<td align=left><b>wsl</b>
<td align=center>ws
<td align=left>Number of columns in status line
</table>
<h5><a name = "tag_002_001_003_003">&nbsp;</a>Strings</h5>
<p><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=left><b></b>
<th align=left><b>Cap-</b>
<th align=left><b>Term-</b>
<th align=left><b></b>
<tr valign=top><th align=left><b>Variable</b>
<th align=left><b>name</b>
<th align=left><b>cap</b>
<th align=left><b>Description</b>
<tr valign=top><td align=center>acs_chars
<td align=left><b>acsc</b>
<td align=center>ac
<td align=left>Graphic charset pairs aAbBcC
<tr valign=top><td align=center>alt_scancode_esc
<td align=left><b>scesa</b>
<td align=center>S8
<td align=left>Alternate escape for scancode emulation
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>(default is for VT100)
<tr valign=top><td align=center>back_tab
<td align=left><b>cbt</b>
<td align=center>bt
<td align=left>Back tab
<tr valign=top><td align=center>bell
<td align=left><b>bel</b>
<td align=center>bl
<td align=left>Audible signal (bell)
<tr valign=top><td align=center>bit_image_carriage_return
<td align=left><b>bicr</b>
<td align=center>Yv
<td align=left>Move to beginning of same row
<tr valign=top><td align=center>bit_image_newline
<td align=left><b>binel</b>
<td align=center>Zz
<td align=left>Move to next row of the bit image
<tr valign=top><td align=center>bit_image_repeat
<td align=left><b>birep</b>
<td align=center>Xy
<td align=left>Repeat bit-image cell #1 #2 times
<tr valign=top><td align=center>carriage_return
<td align=left><b>cr</b>
<td align=center>cr
<td align=left>Carriage return
<tr valign=top><td align=center>change_char_pitch
<td align=left><b>cpi</b>
<td align=center>ZA
<td align=left>Change number of characters per inch
<tr valign=top><td align=center>change_line_pitch
<td align=left><b>lpi</b>
<td align=center>ZB
<td align=left>Change number of lines per inch
<tr valign=top><td align=center>change_res_horz
<td align=left><b>chr</b>
<td align=center>ZC
<td align=left>Change horizontal resolution
<tr valign=top><td align=center>change_res_vert
<td align=left><b>cvr</b>
<td align=center>ZD
<td align=left>Change vertical resolution
<tr valign=top><td align=center>change_scroll_region
<td align=left><b>csr</b>
<td align=center>cs
<td align=left>Change to lines #1 through #2 (VT100)
<tr valign=top><td align=center>char_padding
<td align=left><b>rmp</b>
<td align=center>rP
<td align=left>Like <b>ip</b> but when in replace mode
<tr valign=top><td align=center>char_set_names
<td align=left><b>csnm</b>
<td align=center>Zy
<td align=left>Returns a list of character set names
<tr valign=top><td align=center>clear_all_tabs
<td align=left><b>tbc</b>
<td align=center>ct
<td align=left>Clear all tab stops
<tr valign=top><td align=center>clear_margins
<td align=left><b>mgc</b>
<td align=center>MC
<td align=left>Clear all margins (top, bottom,
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>and sides)
<tr valign=top><td align=center>clear_screen
<td align=left><b>clear</b>
<td align=center>cl
<td align=left>Clear screen and home cursor
<tr valign=top><td align=center>clr_bol
<td align=left><b>el1</b>
<td align=center>cb
<td align=left>Clear to beginning of line, inclusive
<tr valign=top><td align=center>clr_eol
<td align=left><b>el</b>
<td align=center>ce
<td align=left>Clear to end of line
<tr valign=top><td align=center>clr_eos
<td align=left><b>ed</b>
<td align=center>cd
<td align=left>Clear to end of display
<tr valign=top><td align=center>code_set_init
<td align=left><b>csin</b>
<td align=center>ci
<td align=left>Init sequence for multiple codesets
<tr valign=top><td align=center>color_names
<td align=left><b>colornm</b>
<td align=center>Yw
<td align=left>Give name for colour #1
<tr valign=top><td align=center>column_address
<td align=left><b>hpa</b>
<td align=center>ch
<td align=left>Set horizontal position to absolute #1
<tr valign=top><td align=center>command_character
<td align=left><b>cmdch</b>
<td align=center>CC
<td align=left>Terminal settable cmd character
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>in prototype
<tr valign=top><td align=center>create_window
<td align=left><b>cwin</b>
<td align=center>
<td align=left>Define win #1 to go from #2,#3 to #4,#5
<tr valign=top><td align=center>cursor_address
<td align=left><b>cup</b>
<td align=center>cm
<td align=left>Move to row #1 col #2
<tr valign=top><td align=center>cursor_down
<td align=left><b>cud1</b>
<td align=center>do
<td align=left>Down one line
<tr valign=top><td align=center>cursor_home
<td align=left><b>home</b>
<td align=center>ho
<td align=left>Home cursor (if no <b>cup</b>)
<tr valign=top><td align=center>cursor_invisible
<td align=left><b>civis</b>
<td align=center>vi
<td align=left>Make cursor invisible
<tr valign=top><td align=center>cursor_left
<td align=left><b>cub1</b>
<td align=center>le
<td align=left>Move left one space.
<tr valign=top><td align=center>cursor_mem_address
<td align=left><b>mrcup</b>
<td align=center>CM
<td align=left>Memory relative cursor addressing
<tr valign=top><td align=center>cursor_normal
<td align=left><b>cnorm</b>
<td align=center>ve
<td align=left>Make cursor appear normal
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>(undo <b>vs/vi</b>)
<tr valign=top><td align=center>cursor_right
<td align=left><b>cuf1</b>
<td align=center>nd
<td align=left>Non-destructive space (cursor or
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>carriage right)
<tr valign=top><td align=center>cursor_to_ll
<td align=left><b>ll</b>
<td align=center>ll
<td align=left>Last line, first column (if no <b>cup</b>)
<tr valign=top><td align=center>cursor_up
<td align=left><b>cuu1</b>
<td align=center>up
<td align=left>Upline (cursor up)
<tr valign=top><td align=center>cursor_visible
<td align=left><b>cvvis</b>
<td align=center>vs
<td align=left>Make cursor very visible
<tr valign=top><td align=center>define_bit_image_region
<td align=left><b>defbi</b>
<td align=center>Yx
<td align=left>Define rectangular bit-image region
<tr valign=top><td align=center>define_char
<td align=left><b>defc</b>
<td align=center>ZE
<td align=left>Define a character in a character set
<tr valign=top><td align=center>delete_character
<td align=left><b>dch1</b>
<td align=center>dc
<td align=left>Delete character
<tr valign=top><td align=center>delete_line
<td align=left><b>dl1</b>
<td align=center>dl
<td align=left>Delete line
<tr valign=top><td align=center>device_type
<td align=left><b>devt</b>
<td align=center>dv
<td align=left>Indicate language/codeset support
<tr valign=top><td align=center>dial_phone
<td align=left><b>dial</b>
<td align=center>DI
<td align=left>Dial phone number #1
<tr valign=top><td align=center>dis_status_line
<td align=left><b>dsl</b>
<td align=center>ds
<td align=left>Disable status line
<tr valign=top><td align=center>display_clock
<td align=left><b>dclk</b>
<td align=center>DK
<td align=left>Display time-of-day clock
<tr valign=top><td align=center>display_pc_char
<td align=left><b>dispc</b>
<td align=center>S1
<td align=left>Display PC character
<tr valign=top><td align=center>down_half_line
<td align=left><b>hd</b>
<td align=center>hd
<td align=left>Half-line down (forward 1/2 linefeed)
<tr valign=top><td align=center>ena_acs
<td align=left><b>enacs</b>
<td align=center>eA
<td align=left>Enable alternate character set
<tr valign=top><td align=center>end_bit_image_region
<td align=left><b>endbi</b>
<td align=center>Yy
<td align=left>End a bit-image region
<tr valign=top><td align=center>enter_alt_charset_mode
<td align=left><b>smacs</b>
<td align=center>as
<td align=left>Start alternate character set
<tr valign=top><td align=center>enter_am_mode
<td align=left><b>smam</b>
<td align=center>SA
<td align=left>Turn on automatic margins
<tr valign=top><td align=center>enter_blink_mode
<td align=left><b>blink</b>
<td align=center>mb
<td align=left>Turn on blinking
<tr valign=top><td align=center>enter_bold_mode
<td align=left><b>bold</b>
<td align=center>md
<td align=left>Turn on bold (extra bright) mode
<tr valign=top><td align=center>enter_ca_mode
<td align=left><b>smcup</b>
<td align=center>ti
<td align=left>String to begin programs that use cup
<tr valign=top><td align=center>enter_delete_mode
<td align=left><b>smdc</b>
<td align=center>dm
<td align=left>Delete mode (enter)
<tr valign=top><td align=center>enter_dim_mode
<td align=left><b>dim</b>
<td align=center>mh
<td align=left>Turn on half-bright mode
<tr valign=top><td align=center>enter_doublewide_mode
<td align=left><b>swidm</b>
<td align=center>ZF
<td align=left>Enable double wide printing
<tr valign=top><td align=center>enter_draft_quality
<td align=left><b>sdrfq</b>
<td align=center>ZG
<td align=left>Set draft quality print
<tr valign=top><td align=center>enter_horizontal_hl_mode
<td align=left><b>ehhlm</b>
<td align=center>
<td align=left>Turn on horizontal highlight mode
<tr valign=top><td align=center>enter_insert_mode
<td align=left><b>smir</b>
<td align=center>im
<td align=left>Insert mode (enter)
<tr valign=top><td align=center>enter_italics_mode
<td align=left><b>sitm</b>
<td align=center>ZH
<td align=left>Enable italics
<tr valign=top><td align=center>enter_left_hl_mode
<td align=left><b>elhlm</b>
<td align=center>
<td align=left>Turn on left highlight mode
<tr valign=top><td align=center>enter_leftward_mode
<td align=left><b>slm</b>
<td align=center>ZI
<td align=left>Enable leftward carriage motion
<tr valign=top><td align=center>enter_low_hl_mode
<td align=left><b>elohlm</b>
<td align=center>
<td align=left>Turn on low highlight mode
<tr valign=top><td align=center>enter_micro_mode
<td align=left><b>smicm</b>
<td align=center>ZJ
<td align=left>Enable micro motion capabilities
<tr valign=top><td align=center>enter_near_letter_quality
<td align=left><b>snlq</b>
<td align=center>ZK
<td align=left>Set near-letter quality print
<tr valign=top><td align=center>enter_normal_quality
<td align=left><b>snrmq</b>
<td align=center>ZL
<td align=left>Set normal quality print
<tr valign=top><td align=center>enter_pc_charset_mode
<td align=left><b>smpch</b>
<td align=center>S2
<td align=left>Enter PC character display mode
<tr valign=top><td align=center>enter_protected_mode
<td align=left><b>prot</b>
<td align=center>mp
<td align=left>Turn on protected mode
<tr valign=top><td align=center>enter_reverse_mode
<td align=left><b>rev</b>
<td align=center>mr
<td align=left>Turn on reverse video mode
<tr valign=top><td align=center>enter_right_hl_mode
<td align=left><b>erhlm</b>
<td align=center>
<td align=left>Turn on right highlight mode
<tr valign=top><td align=center>enter_scancode_mode
<td align=left><b>smsc</b>
<td align=center>S4
<td align=left>Enter PC scancode mode
<tr valign=top><td align=center>enter_secure_mode
<td align=left><b>invis</b>
<td align=center>mk
<td align=left>Turn on blank mode (characters invisible)
<tr valign=top><td align=center>enter_shadow_mode
<td align=left><b>sshm</b>
<td align=center>ZM
<td align=left>Enable shadow printing
<tr valign=top><td align=center>enter_standout_mode
<td align=left><b>smso</b>
<td align=center>so
<td align=left>Begin standout mode
<tr valign=top><td align=center>enter_subscript_mode
<td align=left><b>ssubm</b>
<td align=center>ZN
<td align=left>Enable subscript printing
<tr valign=top><td align=center>enter_superscript_mode
<td align=left><b>ssupm</b>
<td align=center>ZO
<td align=left>Enable superscript printing
<tr valign=top><td align=center>enter_top_hl_mode
<td align=left><b>ethlm</b>
<td align=center>
<td align=left>Turn on top highlight mode
<tr valign=top><td align=center>enter_underline_mode
<td align=left><b>smul</b>
<td align=center>us
<td align=left>Start underscore mode
<tr valign=top><td align=center>enter_upward_mode
<td align=left><b>sum</b>
<td align=center>ZP
<td align=left>Enable upward carriage motion
<tr valign=top><td align=center>enter_vertical_hl_mode
<td align=left><b>evhlm</b>
<td align=center>
<td align=left>Turn on vertical highlight mode
<tr valign=top><td align=center>enter_xon_mode
<td align=left><b>smxon</b>
<td align=center>SX
<td align=left>Turn on xon/xoff handshaking
<tr valign=top><td align=center>erase_chars
<td align=left><b>ech</b>
<td align=center>ec
<td align=left>Erase #1 characters
<tr valign=top><td align=center>exit_alt_charset_mode
<td align=left><b>rmacs</b>
<td align=center>ae
<td align=left>End alternate character set
<tr valign=top><td align=center>exit_am_mode
<td align=left><b>rmam</b>
<td align=center>RA
<td align=left>Turn off automatic margins
<tr valign=top><td align=center>exit_attribute_mode
<td align=left><b>sgr0</b>
<td align=center>me
<td align=left>Turn off all attributes
<tr valign=top><td align=center>exit_ca_mode
<td align=left><b>rmcup</b>
<td align=center>te
<td align=left>String to end programs that use <b>cup</b>
<tr valign=top><td align=center>exit_delete_mode
<td align=left><b>rmdc</b>
<td align=center>ed
<td align=left>End delete mode
<tr valign=top><td align=center>exit_doublewide_mode
<td align=left><b>rwidm</b>
<td align=center>ZQ
<td align=left>Disable double wide printing
<tr valign=top><td align=center>exit_insert_mode
<td align=left><b>rmir</b>
<td align=center>ei
<td align=left>End insert mode
<tr valign=top><td align=center>exit_italics_mode
<td align=left><b>ritm</b>
<td align=center>ZR
<td align=left>Disable italics
<tr valign=top><td align=center>exit_leftward_mode
<td align=left><b>rlm</b>
<td align=center>ZS
<td align=left>Enable rightward (normal)
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>carriage motion
<tr valign=top><td align=center>exit_micro_mode
<td align=left><b>rmicm</b>
<td align=center>ZT
<td align=left>Disable micro motion capabilities
<tr valign=top><td align=center>exit_pc_charset_mode
<td align=left><b>rmpch</b>
<td align=center>S3
<td align=left>Disable PC character display mode
<tr valign=top><td align=center>exit_scancode_mode
<td align=left><b>rmsc</b>
<td align=center>S5
<td align=left>Disable PC scancode mode
<tr valign=top><td align=center>exit_shadow_mode
<td align=left><b>rshm</b>
<td align=center>ZU
<td align=left>Disable shadow printing
<tr valign=top><td align=center>exit_standout_mode
<td align=left><b>rmso</b>
<td align=center>se
<td align=left>End standout mode
<tr valign=top><td align=center>exit_subscript_mode
<td align=left><b>rsubm</b>
<td align=center>ZV
<td align=left>Disable subscript printing
<tr valign=top><td align=center>exit_superscript_mode
<td align=left><b>rsupm</b>
<td align=center>ZW
<td align=left>Disable superscript printing
<tr valign=top><td align=center>exit_underline_mode
<td align=left><b>rmul</b>
<td align=center>ue
<td align=left>End underscore mode
<tr valign=top><td align=center>exit_upward_mode
<td align=left><b>rum</b>
<td align=center>ZX
<td align=left>Enable downward (normal)
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>carriage motion
<tr valign=top><td align=center>exit_xon_mode
<td align=left><b>rmxon</b>
<td align=center>RX
<td align=left>Turn off xon/xoff handshaking
<tr valign=top><td align=center>fixed_pause
<td align=left><b>pause</b>
<td align=center>PA
<td align=left>Pause for 2-3 seconds
<tr valign=top><td align=center>flash_hook
<td align=left><b>hook</b>
<td align=center>fh
<td align=left>Flash the switch hook
<tr valign=top><td align=center>flash_screen
<td align=left><b>flash</b>
<td align=center>vb
<td align=left>Visible bell (may move cursor)
<tr valign=top><td align=center>form_feed
<td align=left><b>ff</b>
<td align=center>ff
<td align=left>Hardcopy terminal page eject
<tr valign=top><td align=center>from_status_line
<td align=left><b>fsl</b>
<td align=center>fs
<td align=left>Return from status line
<tr valign=top><td align=center>get_mouse
<td align=left><b>getm</b>
<td align=center>Gm
<td align=left>Curses should get button events
<tr valign=top><td align=center>goto_window
<td align=left><b>wingo</b>
<td align=center>WG
<td align=left>Go to window #1
<tr valign=top><td align=center>hangup
<td align=left><b>hup</b>
<td align=center>HU
<td align=left>Hang-up phone
<tr valign=top><td align=center>init_1string
<td align=left><b>is1</b>
<td align=center>i1
<td align=left>Terminal or printer initialisation string
<tr valign=top><td align=center>init_2string
<td align=left><b>is2</b>
<td align=center>is
<td align=left>Terminal or printer initialisation string
<tr valign=top><td align=center>init_3string
<td align=left><b>is3</b>
<td align=center>i3
<td align=left>Terminal or printer initialisation string
<tr valign=top><td align=center>init_file
<td align=left><b>if</b>
<td align=center>if
<td align=left>Name of initialisation file
<tr valign=top><td align=center>init_prog
<td align=left><b>iprog</b>
<td align=center>iP
<td align=left>Path name of program for initialisation
<tr valign=top><td align=center>initialize_color
<td align=left><b>initc</b>
<td align=center>IC
<td align=left>Set colour #1 to RGB #2, #3, #4
<tr valign=top><td align=center>initialize_pair
<td align=left><b>initp</b>
<td align=center>Ip
<td align=left>Set colour-pair #1 to fg #2, bg #3
<tr valign=top><td align=center>insert_character
<td align=left><b>ich1</b>
<td align=center>ic
<td align=left>Insert character
<tr valign=top><td align=center>insert_line
<td align=left><b>il1</b>
<td align=center>al
<td align=left>Add new blank line
<tr valign=top><td align=center>insert_padding
<td align=left><b>ip</b>
<td align=center>ip
<td align=left>Insert pad after character inserted
</table>
<p>
The &quot;<b>key_</b>&quot; strings are sent by specific keys.  The &quot;<b>key_</b>&quot;
descriptions include the macro, defined in
<i><a href="curses.h.html">&lt;curses.h&gt;</a></i>,
for the code returned by
<i><a href="getch.html">getch()</a></i>
when the key is pressed (see
<i><a href="getch.html">getch()</a></i>).
<p><table  bordercolor=#000000 border=1 align=center><tr valign=top><th align=left><b></b>
<th align=left><b>Cap-</b>
<th align=left><b>Term-</b>
<th align=left><b></b>
<tr valign=top><th align=left><b>Variable</b>
<th align=left><b>name</b>
<th align=left><b>cap</b>
<th align=left><b>Description</b>
<tr valign=top><td align=center>key_a1
<td align=left><b>ka1</b>
<td align=center>K1
<td align=left>upper left of keypad
<tr valign=top><td align=center>key_a3
<td align=left><b>ka3</b>
<td align=center>K3
<td align=left>upper right of keypad
<tr valign=top><td align=center>key_b2
<td align=left><b>kb2</b>
<td align=center>K2
<td align=left>center of keypad
<tr valign=top><td align=center>key_backspace
<td align=left><b>kbs</b>
<td align=center>kb
<td align=left>sent by backspace key
<tr valign=top><td align=center>key_beg
<td align=left><b>kbeg</b>
<td align=center>
<td align=left>1
<tr valign=top><td align=center>key_btab
<td align=left><b>kcbt</b>
<td align=center>kB
<td align=left>sent by back-tab key
<tr valign=top><td align=center>key_c1
<td align=left><b>kc1</b>
<td align=center>K4
<td align=left>lower left of keypad
<tr valign=top><td align=center>key_c3
<td align=left><b>kc3</b>
<td align=center>K5
<td align=left>lower right of keypad
<tr valign=top><td align=center>key_cancel
<td align=left><b>kcan</b>
<td align=center>
<td align=left>2
<tr valign=top><td align=center>key_catab
<td align=left><b>ktbc</b>
<td align=center>ka
<td align=left>sent by clear-all-tabs key
<tr valign=top><td align=center>key_clear
<td align=left><b>kclr</b>
<td align=center>kC
<td align=left>sent by clear-screen or erase key
<tr valign=top><td align=center>key_close
<td align=left><b>kclo</b>
<td align=center>
<td align=left>3
<tr valign=top><td align=center>key_command
<td align=left><b>kcmd</b>
<td align=center>
<td align=left>4
<tr valign=top><td align=center>key_copy
<td align=left><b>kcpy</b>
<td align=center>
<td align=left>5
<tr valign=top><td align=center>key_create
<td align=left><b>kcrt</b>
<td align=center>
<td align=left>6
<tr valign=top><td align=center>key_ctab
<td align=left><b>kctab</b>
<td align=center>kt
<td align=left>sent by clear-tab key
<tr valign=top><td align=center>key_dc
<td align=left><b>kdch1</b>
<td align=center>kD
<td align=left>sent by delete-character key
<tr valign=top><td align=center>key_dl
<td align=left><b>kdl1</b>
<td align=center>kL
<td align=left>sent by delete-line key
<tr valign=top><td align=center>key_down
<td align=left><b>kcud1</b>
<td align=center>kd
<td align=left>sent by terminal down-arrow key
<tr valign=top><td align=center>key_eic
<td align=left><b>krmir</b>
<td align=center>kM
<td align=left>sent by <b>rmir</b> or <b>smir</b> in insert mode
<tr valign=top><td align=center>key_end
<td align=left><b>kend</b>
<td align=center>
<td align=left>7
<tr valign=top><td align=center>key_enter
<td align=left><b>kent</b>
<td align=center>
<td align=left>8
<tr valign=top><td align=center>key_eol
<td align=left><b>kel</b>
<td align=center>kE
<td align=left>sent by clear-to-end-of-line key
<tr valign=top><td align=center>key_eos
<td align=left><b>ked</b>
<td align=center>kS
<td align=left>sent by clear-to-end-of-screen key
<tr valign=top><td align=center>key_exit
<td align=left><b>kext</b>
<td align=center>
<td align=left>9
<tr valign=top><td align=center>key_f0
<td align=left><b>kf0</b>
<td align=center>k0
<td align=left>sent by function key f0
<tr valign=top><td align=center>key_f1
<td align=left><b>kf1</b>
<td align=center>k1
<td align=left>sent by function key f1
<tr valign=top><td align=center> .
<td align=left><b> .</b>
<td align=center>.
<td align=left> .
<tr valign=top><td align=center> .
<td align=left><b> .</b>
<td align=center>.
<td align=left> .
<tr valign=top><td align=center> .
<td align=left><b> .</b>
<td align=center>.
<td align=left> .
<tr valign=top><td align=center>key_f62
<td align=left><b>kf62</b>
<td align=center>Fq
<td align=left>sent by function key f62
<tr valign=top><td align=center>key_f63
<td align=left><b>kf63</b>
<td align=center>Fr
<td align=left>sent by function key f63
<tr valign=top><td align=center>key_find
<td align=left><b>kfnd</b>
<td align=center>
<td align=left>0
<tr valign=top><td align=center>key_help
<td align=left><b>khlp</b>
<td align=center>%1
<td align=left>sent by help key
<tr valign=top><td align=center>key_home
<td align=left><b>khome</b>
<td align=center>kh
<td align=left>sent by home key
<tr valign=top><td align=center>key_ic
<td align=left><b>kich1</b>
<td align=center>kI
<td align=left>sent by ins-char/enter ins-mode key
<tr valign=top><td align=center>key_il
<td align=left><b>kil1</b>
<td align=center>kA
<td align=left>sent by insert-line key
<tr valign=top><td align=center>key_left
<td align=left><b>kcub1</b>
<td align=center>kl
<td align=left>sent by terminal left-arrow key
<tr valign=top><td align=center>key_ll
<td align=left><b>kll</b>
<td align=center>kH
<td align=left>sent by home-down key
<tr valign=top><td align=center>key_mark
<td align=left><b>kmrk</b>
<td align=center>%2
<td align=left>sent by mark key
<tr valign=top><td align=center>key_message
<td align=left><b>kmsg</b>
<td align=center>%3
<td align=left>sent by message key
<tr valign=top><td align=center>key_mouse
<td align=left><b>kmous</b>
<td align=center>Km
<td align=left>0631, Mouse event has occured
<tr valign=top><td align=center>key_move
<td align=left><b>kmov</b>
<td align=center>%4
<td align=left>sent by move key
<tr valign=top><td align=center>key_next
<td align=left><b>knxt</b>
<td align=center>%5
<td align=left>sent by next-object key
<tr valign=top><td align=center>key_npage
<td align=left><b>knp</b>
<td align=center>kN
<td align=left>sent by next-page key
<tr valign=top><td align=center>key_open
<td align=left><b>kopn</b>
<td align=center>%6
<td align=left>sent by open key
<tr valign=top><td align=center>key_options
<td align=left><b>kopt</b>
<td align=center>%7
<td align=left>sent by options key
<tr valign=top><td align=center>key_ppage
<td align=left><b>kpp</b>
<td align=center>kP
<td align=left>sent by previous-page key
<tr valign=top><td align=center>key_previous
<td align=left><b>kprv</b>
<td align=center>%8
<td align=left>sent by previous-object key
<tr valign=top><td align=center>key_print
<td align=left><b>kprt</b>
<td align=center>%9
<td align=left>sent by print or copy key
<tr valign=top><td align=center>key_redo
<td align=left><b>krdo</b>
<td align=center>%0
<td align=left>sent by redo key
<tr valign=top><td align=center>key_reference
<td align=left><b>kref</b>
<td align=center>&amp;1
<td align=left>sent by ref(erence) key
<tr valign=top><td align=center>key_refresh
<td align=left><b>krfr</b>
<td align=center>&amp;2
<td align=left>sent by refresh key
<tr valign=top><td align=center>key_replace
<td align=left><b>krpl</b>
<td align=center>&amp;3
<td align=left>sent by replace key
<tr valign=top><td align=center>key_restart
<td align=left><b>krst</b>
<td align=center>&amp;4
<td align=left>sent by restart key
<tr valign=top><td align=center>key_resume
<td align=left><b>kres</b>
<td align=center>&amp;5
<td align=left>sent by resume key
<tr valign=top><td align=center>key_right
<td align=left><b>kcuf1</b>
<td align=center>kr
<td align=left>sent by terminal right-arrow key
<tr valign=top><td align=center>key_save
<td align=left><b>ksav</b>
<td align=center>&amp;6
<td align=left>sent by save key
<tr valign=top><td align=center>key_sbeg
<td align=left><b>kBEG</b>
<td align=center>&amp;9
<td align=left>sent by shifted beginning key
<tr valign=top><td align=center>key_scancel
<td align=left><b>kCAN</b>
<td align=center>&amp;0
<td align=left>sent by shifted cancel key
<tr valign=top><td align=center>key_scommand
<td align=left><b>kCMD</b>
<td align=center>*1
<td align=left>sent by shifted command key
<tr valign=top><td align=center>key_scopy
<td align=left><b>kCPY</b>
<td align=center>*2
<td align=left>sent by shifted copy key
<tr valign=top><td align=center>key_screate
<td align=left><b>kCRT</b>
<td align=center>*3
<td align=left>sent by shifted create key
<tr valign=top><td align=center>key_sdc
<td align=left><b>kDC</b>
<td align=center>*4
<td align=left>sent by shifted delete-char key
<tr valign=top><td align=center>key_sdl
<td align=left><b>kDL</b>
<td align=center>*5
<td align=left>sent by shifted delete-line key
<tr valign=top><td align=center>key_select
<td align=left><b>kslt</b>
<td align=center>*6
<td align=left>sent by select key
<tr valign=top><td align=center>key_send
<td align=left><b>kEND</b>
<td align=center>*7
<td align=left>sent by shifted end key
<tr valign=top><td align=center>key_seol
<td align=left><b>kEOL</b>
<td align=center>*8
<td align=left>sent by shifted clear-line key
<tr valign=top><td align=center>key_sexit
<td align=left><b>kEXT</b>
<td align=center>*9
<td align=left>sent by shifted exit key
<tr valign=top><td align=center>key_sf
<td align=left><b>kind</b>
<td align=center>kF
<td align=left>sent by scroll-forward/down key
<tr valign=top><td align=center>key_sfind
<td align=left><b>kFND</b>
<td align=center>*0
<td align=left>sent by shifted find key
<tr valign=top><td align=center>key_shelp
<td align=left><b>kHLP</b>
<td align=center>#1
<td align=left>sent by shifted help key
<tr valign=top><td align=center>key_shome
<td align=left><b>kHOM</b>
<td align=center>#2
<td align=left>sent by shifted home key
<tr valign=top><td align=center>key_sic
<td align=left><b>kIC</b>
<td align=center>#3
<td align=left>sent by shifted input key
<tr valign=top><td align=center>key_sleft
<td align=left><b>kLFT</b>
<td align=center>#4
<td align=left>sent by shifted left-arrow key
<tr valign=top><td align=center>key_smessage
<td align=left><b>kMSG</b>
<td align=center>%a
<td align=left>sent by shifted message key
<tr valign=top><td align=center>key_smove
<td align=left><b>kMOV</b>
<td align=center>%b
<td align=left>sent by shifted move key
<tr valign=top><td align=center>key_snext
<td align=left><b>kNXT</b>
<td align=center>%c
<td align=left>sent by shifted next key
<tr valign=top><td align=center>key_soptions
<td align=left><b>kOPT</b>
<td align=center>%d
<td align=left>sent by shifted options key
<tr valign=top><td align=center>key_sprevious
<td align=left><b>kPRV</b>
<td align=center>%e
<td align=left>sent by shifted prev key
<tr valign=top><td align=center>key_sprint
<td align=left><b>kPRT</b>
<td align=center>%f
<td align=left>sent by shifted print key
<tr valign=top><td align=center>key_sr
<td align=left><b>kri</b>
<td align=center>kR
<td align=left>sent by scroll-backward/up key
<tr valign=top><td align=center>key_sredo
<td align=left><b>kRDO</b>
<td align=center>%g
<td align=left>sent by shifted redo key
<tr valign=top><td align=center>key_sreplace
<td align=left><b>kRPL</b>
<td align=center>%h
<td align=left>sent by shifted replace key
<tr valign=top><td align=center>key_sright
<td align=left><b>kRIT</b>
<td align=center>%i
<td align=left>sent by shifted right-arrow key
<tr valign=top><td align=center>key_srsume
<td align=left><b>kRES</b>
<td align=center>%j
<td align=left>sent by shifted resume key
<tr valign=top><td align=center>key_ssave
<td align=left><b>kSAV</b>
<td align=center>!1
<td align=left>sent by shifted save key
<tr valign=top><td align=center>key_ssuspend
<td align=left><b>kSPD</b>
<td align=center>!2
<td align=left>sent by shifted suspend key
<tr valign=top><td align=center>key_stab
<td align=left><b>khts</b>
<td align=center>kT
<td align=left>sent by set-tab key
<tr valign=top><td align=center>key_sundo
<td align=left><b>kUND</b>
<td align=center>!3
<td align=left>sent by shifted undo key
<tr valign=top><td align=center>key_suspend
<td align=left><b>kspd</b>
<td align=center>&amp;7
<td align=left>sent by suspend key
<tr valign=top><td align=center>key_undo
<td align=left><b>kund</b>
<td align=center>&amp;8
<td align=left>sent by undo key
<tr valign=top><td align=center>key_up
<td align=left><b>kcuu1</b>
<td align=center>ku
<td align=left>sent by terminal up-arrow key
<tr valign=top><td align=center>keypad_local
<td align=left><b>rmkx</b>
<td align=center>ke
<td align=left>Out of &quot;keypad-transmit&quot; mode
<tr valign=top><td align=center>keypad_xmit
<td align=left><b>smkx</b>
<td align=center>ks
<td align=left>Put terminal in &quot;keypad-transmit&quot; mode
<tr valign=top><td align=center>lab_f0
<td align=left><b>lf0</b>
<td align=center>l0
<td align=left>Labels on function key f0 if not f0
<tr valign=top><td align=center>lab_f1
<td align=left><b>lf1</b>
<td align=center>l1
<td align=left>Labels on function key f1 if not f1
<tr valign=top><td align=center>lab_f2
<td align=left><b>lf2</b>
<td align=center>l2
<td align=left>Labels on function key f2 if not f2
<tr valign=top><td align=center>lab_f3
<td align=left><b>lf3</b>
<td align=center>l3
<td align=left>Labels on function key f3 if not f3
<tr valign=top><td align=center>lab_f4
<td align=left><b>lf4</b>
<td align=center>l4
<td align=left>Labels on function key f4 if not f4
<tr valign=top><td align=center>lab_f5
<td align=left><b>lf5</b>
<td align=center>l5
<td align=left>Labels on function key f5 if not f5
<tr valign=top><td align=center>lab_f6
<td align=left><b>lf6</b>
<td align=center>l6
<td align=left>Labels on function key f6 if not f6
<tr valign=top><td align=center>lab_f7
<td align=left><b>lf7</b>
<td align=center>l7
<td align=left>Labels on function key f7 if not f7
<tr valign=top><td align=center>lab_f8
<td align=left><b>lf8</b>
<td align=center>l8
<td align=left>Labels on function key f8 if not f8
<tr valign=top><td align=center>lab_f9
<td align=left><b>lf9</b>
<td align=center>l9
<td align=left>Labels on function key f9 if not f9
<tr valign=top><td align=center>lab_f10
<td align=left><b>lf10</b>
<td align=center>la
<td align=left>Labels on function key f10 if not f10
<tr valign=top><td align=center>label_format
<td align=left><b>fln</b>
<td align=center>Lf
<td align=left>Label format
<tr valign=top><td align=center>label_off
<td align=left><b>rmln</b>
<td align=center>LF
<td align=left>Turn off soft labels
<tr valign=top><td align=center>label_on
<td align=left><b>smln</b>
<td align=center>LO
<td align=left>Turn on soft labels
<tr valign=top><td align=center>meta_off
<td align=left><b>rmm</b>
<td align=center>mo
<td align=left>Turn off "meta mode"
<tr valign=top><td align=center>meta_on
<td align=left><b>smm</b>
<td align=center>mm
<td align=left>Turn on "meta mode" (8th bit)
<tr valign=top><td align=center>micro_column_address
<td align=left><b>mhpa</b>
<td align=center>ZY
<td align=left>Like <b>column_address</b> for micro adjustment
<tr valign=top><td align=center>micro_down
<td align=left><b>mcud1</b>
<td align=center>ZZ
<td align=left>Like <b>cursor_down</b> for micro adjustment
<tr valign=top><td align=center>micro_left
<td align=left><b>mcub1</b>
<td align=center>Za
<td align=left>Like <b>cursor_left</b> for micro adjustment
<tr valign=top><td align=center>micro_right
<td align=left><b>mcuf1</b>
<td align=center>Zb
<td align=left>Like <b>cursor_right</b> for micro adjustment
<tr valign=top><td align=center>micro_row_address
<td align=left><b>mvpa</b>
<td align=center>Zc
<td align=left>Like <b>row_address</b> for micro adjustment
<tr valign=top><td align=center>micro_up
<td align=left><b>mcuu1</b>
<td align=center>Zd
<td align=left>Like <b>cursor_up</b> for micro adjustment
<tr valign=top><td align=center>mouse_info
<td align=left><b>minfo</b>
<td align=center>Mi
<td align=left>Mouse status information
<tr valign=top><td align=center>newline
<td align=left><b>nel</b>
<td align=center>nw
<td align=left>Newline (behaves like <b>cr</b> followed by <b>lf</b>)
<tr valign=top><td align=center>order_of_pins
<td align=left><b>porder</b>
<td align=center>Ze
<td align=left>Matches software bits to print-head pins
<tr valign=top><td align=center>orig_colors
<td align=left><b>oc</b>
<td align=center>oc
<td align=left>Set all colour(-pair)s to the original ones
<tr valign=top><td align=center>orig_pair
<td align=left><b>op</b>
<td align=center>op
<td align=left>Set default colour-pair to the original one
<tr valign=top><td align=center>pad_char
<td align=left><b>pad</b>
<td align=center>pc
<td align=left>Pad character (rather than null)
<tr valign=top><td align=center>parm_dch
<td align=left><b>dch</b>
<td align=center>DC
<td align=left>Delete #1 chars
<tr valign=top><td align=center>parm_delete_line
<td align=left><b>dl</b>
<td align=center>DL
<td align=left>Delete #1 lines
<tr valign=top><td align=center>parm_down_cursor
<td align=left><b>cud</b>
<td align=center>DO
<td align=left>Move down #1 lines.
<tr valign=top><td align=center>parm_down_micro
<td align=left><b>mcud</b>
<td align=center>Zf
<td align=left>Like <b>parm_down_cursor</b> for micro adjust.
<tr valign=top><td align=center>parm_ich
<td align=left><b>ich</b>
<td align=center>IC
<td align=left>Insert #1 blank chars
<tr valign=top><td align=center>parm_index
<td align=left><b>indn</b>
<td align=center>SF
<td align=left>Scroll forward #1 lines.
<tr valign=top><td align=center>parm_insert_line
<td align=left><b>il</b>
<td align=center>AL
<td align=left>Add #1 new blank lines
<tr valign=top><td align=center>parm_left_cursor
<td align=left><b>cub</b>
<td align=center>LE
<td align=left>Move cursor left #1 spaces
<tr valign=top><td align=center>parm_left_micro
<td align=left><b>mcub</b>
<td align=center>Zg
<td align=left>Like <b>parm_left_cursor</b> for micro adjust.
<tr valign=top><td align=center>parm_right_cursor
<td align=left><b>cuf</b>
<td align=center>RI
<td align=left>Move right #1 spaces.
<tr valign=top><td align=center>parm_right_micro
<td align=left><b>mcuf</b>
<td align=center>Zh
<td align=left>Like <b>parm_right_cursor</b> for micro adjust.
<tr valign=top><td align=center>parm_rindex
<td align=left><b>rin</b>
<td align=center>SR
<td align=left>Scroll backward #1 lines.
<tr valign=top><td align=center>parm_up_cursor
<td align=left><b>cuu</b>
<td align=center>UP
<td align=left>Move cursor up #1 lines.
<tr valign=top><td align=center>parm_up_micro
<td align=left><b>mcuu</b>
<td align=center>Zi
<td align=left>Like <b>parm_up_cursor</b> for micro adjust.
<tr valign=top><td align=center>pc_term_options
<td align=left><b>pctrm</b>
<td align=center>S6
<td align=left>PC terminal options
<tr valign=top><td align=center>pkey_key
<td align=left><b>pfkey</b>
<td align=center>pk
<td align=left>Prog funct key #1 to type string #2
<tr valign=top><td align=center>pkey_local
<td align=left><b>pfloc</b>
<td align=center>pl
<td align=left>Prog funct key #1 to execute string #2
<tr valign=top><td align=center>pkey_plab
<td align=left><b>pfxl</b>
<td align=center>xl
<td align=left>Prog key #1 to xmit string #2 and show string #3
<tr valign=top><td align=center>pkey_xmit
<td align=left><b>pfx</b>
<td align=center>px
<td align=left>Prog funct key #1 to xmit string #2
<tr valign=top><td align=center>plab_norm
<td align=left><b>pln</b>
<td align=center>pn
<td align=left>Prog label #1 to show string #2
<tr valign=top><td align=center>print_screen
<td align=left><b>mc0</b>
<td align=center>ps
<td align=left>Print contents of the screen
<tr valign=top><td align=center>prtr_non
<td align=left><b>mc5p</b>
<td align=center>pO
<td align=left>Turn on the printer for #1 bytes
<tr valign=top><td align=center>prtr_off
<td align=left><b>mc4</b>
<td align=center>pf
<td align=left>Turn off the printer
<tr valign=top><td align=center>prtr_on
<td align=left><b>mc5</b>
<td align=center>po
<td align=left>Turn on the printer
<tr valign=top><td align=center>pulse
<td align=left><b>pulse</b>
<td align=center>PU
<td align=left>Select pulse dialing
<tr valign=top><td align=center>quick_dial
<td align=left><b>qdial</b>
<td align=center>QD
<td align=left> Dial phone number #1, without progress detection 
<tr valign=top><td align=center>remove_clock
<td align=left><b>rmclk</b>
<td align=center>RC
<td align=left>Remove time-of-day clock
<tr valign=top><td align=center>repeat_char
<td align=left><b>rep</b>
<td align=center>rp
<td align=left>Repeat char #1 #2 times
<tr valign=top><td align=center>req_for_input
<td align=left><b>rfi</b>
<td align=center>RF
<td align=left>Send next input char (for ptys)
<tr valign=top><td align=center>req_mouse_pos
<td align=left><b>reqmp</b>
<td align=center>RQ
<td align=left>Request mouse position report
<tr valign=top><td align=center>reset_1string
<td align=left><b>rs1</b>
<td align=center>r1
<td align=left>Reset terminal completely to sane modes
<tr valign=top><td align=center>reset_2string
<td align=left><b>rs2</b>
<td align=center>r2
<td align=left>Reset terminal completely to sane modes
<tr valign=top><td align=center>reset_3string
<td align=left><b>rs3</b>
<td align=center>r3
<td align=left>Reset terminal completely to sane modes
<tr valign=top><td align=center>reset_file
<td align=left><b>rf</b>
<td align=center>rf
<td align=left>Name of file containing reset string
<tr valign=top><td align=center>restore_cursor
<td align=left><b>rc</b>
<td align=center>rc
<td align=left>Restore cursor to position of last sc
<tr valign=top><td align=center>row_address
<td align=left><b>vpa</b>
<td align=center>cv
<td align=left>Set vertical position to absolute #1
<tr valign=top><td align=center>save_cursor
<td align=left><b>sc</b>
<td align=center>sc
<td align=left>Save cursor position
<tr valign=top><td align=center>scancode_escape
<td align=left><b>scesc</b>
<td align=center>S7
<td align=left>Escape for scancode emulation
<tr valign=top><td align=center>scroll_forward
<td align=left><b>ind</b>
<td align=center>sf
<td align=left>Scroll text up
<tr valign=top><td align=center>scroll_reverse
<td align=left><b>ri</b>
<td align=center>sr
<td align=left>Scroll text down
<tr valign=top><td align=center>select_char_set
<td align=left><b>scs</b>
<td align=center>Zj
<td align=left>Select character set
<tr valign=top><td align=center>set0_des_seq
<td align=left><b>s0ds</b>
<td align=center>s0
<td align=left>Shift into codeset 0 (EUC set 0, ASCII)
<tr valign=top><td align=center>set1_des_seq
<td align=left><b>s1ds</b>
<td align=center>s1
<td align=left>Shift into codeset 1
<tr valign=top><td align=center>set2_des_seq
<td align=left><b>s2ds</b>
<td align=center>s2
<td align=left>Shift into codeset 2
<tr valign=top><td align=center>set3_des_seq
<td align=left><b>s3ds</b>
<td align=center>s3
<td align=left>Shift into codeset 3
<tr valign=top><td align=center>set_a_attributes
<td align=left><b>sgr1</b>
<td align=center>
<td align=left>Define second set of video attributes #1-#6
<tr valign=top><td align=center>set_a_background
<td align=left><b>setab</b>
<td align=center>AB
<td align=left>Set background colour to #1 using ANSI escape
<tr valign=top><td align=center>set_a_foreground
<td align=left><b>setaf</b>
<td align=center>AF
<td align=left>Set foreground colour to #1 using ANSI escape
<tr valign=top><td align=center>set_attributes
<td align=left><b>sgr</b>
<td align=center>sa
<td align=left>Define first set of video attributes #1-#9
<tr valign=top><td align=center>set_background
<td align=left><b>setb</b>
<td align=center>Sb
<td align=left>Set background colour to #1
<tr valign=top><td align=center>set_bottom_margin
<td align=left><b>smgb</b>
<td align=center>Zk
<td align=left>Set bottom margin at current line
<tr valign=top><td align=center>set_bottom_margin_parm
<td align=left><b>smgbp</b>
<td align=center>Zl
<td align=left>Set bottom margin at line #1 or #2
<tr valign=top><td align=center>
<td align=left><b></b>
<td align=center>
<td align=left>lines from bottom
<tr valign=top><td align=center>set_clock
<td align=left><b>sclk</b>
<td align=center>SC
<td align=left>Set clock to hours (#1), minutes (#2), seconds (#3)
<tr valign=top><td align=center>set_color_band
<td align=left><b>setcolor</b>
<td align=center>Yz
<td align=left>Change to ribbon colour #1
<tr valign=top><td align=center>set_color_pair
<td align=left><b>scp</b>
<td align=center>sp
<td align=left>Set current colour pair to #1
<tr valign=top><td align=center>set_foreground
<td align=left><b>setf</b>
<td align=center>Sf
<td align=left>Set foreground colour to #1
<tr valign=top><td align=center>set_left_margin
<td align=left><b>smgl</b>
<td align=center>ML
<td align=left>Set left margin at current column
<tr valign=top><td align=center>set_left_margin_parm
<td align=left><b>smglp</b>
<td align=center>Zm
<td align=left>Set left (right) margin at column #1 (#2)
<tr valign=top><td align=center>set_lr_margin
<td align=left><b>smglr</b>
<td align=center>ML
<td align=left>Sets both left and right margins
<tr valign=top><td align=center>set_page_length
<td align=left><b>slines</b>
<td align=center>YZ
<td align=left>Set page length to #1 lines
<tr valign=top><td align=center>set_pglen_inch
<td align=left><b>slength</b>
<td align=center>YI
<td align=left>Set page length to #1 hundredth of an inch
<tr valign=top><td align=center>set_right_margin
<td align=left><b>smgr</b>
<td align=center>MR
<td align=left>Set right margin at current column
<tr valign=top><td align=center>set_right_margin_parm
<td align=left><b>smgrp</b>
<td align=center>Zn
<td align=left>Set right margin at column #1
<tr valign=top><td align=center>set_tab
<td align=left><b>hts</b>
<td align=center>st
<td align=left>Set a tab in all rows, current column
<tr valign=top><td align=center>set_tb_margin
<td align=left><b>smgtb</b>
<td align=center>MT
<td align=left>Sets both top and bottom margins
<tr valign=top><td align=center>set_top_margin
<td align=left><b>smgt</b>
<td align=center>Zo
<td align=left>Set top margin at current line
<tr valign=top><td align=center>set_top_margin_parm
<td align=left><b>smgtp</b>
<td align=center>Zp
<td align=left>Set top (bottom) margin at line #1 (#2)
<tr valign=top><td align=center>set_window
<td align=left><b>wind</b>
<td align=center>wi
<td align=left>Current window is lines #1-#2 cols #3-#4
<tr valign=top><td align=center>start_bit_image
<td align=left><b>sbim</b>
<td align=center>Zq
<td align=left>Start printing bit image graphics
<tr valign=top><td align=center>start_char_set_def
<td align=left><b>scsd</b>
<td align=center>Zr
<td align=left>Start definition of a character set
<tr valign=top><td align=center>stop_bit_image
<td align=left><b>rbim</b>
<td align=center>Zs
<td align=left>End printing bit image graphics
<tr valign=top><td align=center>stop_char_set_def
<td align=left><b>rcsd</b>
<td align=center>Zt
<td align=left>End definition of a character set
<tr valign=top><td align=center>subscript_characters
<td align=left><b>subcs</b>
<td align=center>Zu
<td align=left>List of &quot;subscript-able&quot; characters
<tr valign=top><td align=center>superscript_characters
<td align=left><b>supcs</b>
<td align=center>Zv
<td align=left>List of &quot;superscript-able&quot; characters
<tr valign=top><td align=center>tab
<td align=left><b>ht</b>
<td align=center>ta
<td align=left>Tab to next 8-space hardware tab stop
<tr valign=top><td align=center>these_cause_cr
<td align=left><b>docr</b>
<td align=center>Zw
<td align=left>Printing any of these chars causes <b>cr</b>
<tr valign=top><td align=center>to_status_line
<td align=left><b>tsl</b>
<td align=center>ts
<td align=left>Go to status line, col #1
<tr valign=top><td align=center>tone
<td align=left><b>tone</b>
<td align=center>TO
<td align=left>Select touch tone dialing
<tr valign=top><td align=center>user0
<td align=left><b>u0</b>
<td align=center>u0
<td align=left>User string 0
<tr valign=top><td align=center>user1
<td align=left><b>u1</b>
<td align=center>u1
<td align=left>User string 1
<tr valign=top><td align=center>user2
<td align=left><b>u2</b>
<td align=center>u2
<td align=left>User string 2
<tr valign=top><td align=center>user3
<td align=left><b>u3</b>
<td align=center>u3
<td align=left>User string 3
<tr valign=top><td align=center>user4
<td align=left><b>u4</b>
<td align=center>u4
<td align=left>User string 4
<tr valign=top><td align=center>user5
<td align=left><b>u5</b>
<td align=center>u5
<td align=left>User string 5
<tr valign=top><td align=center>user6
<td align=left><b>u6</b>
<td align=center>u6
<td align=left>User string 6
<tr valign=top><td align=center>user7
<td align=left><b>u7</b>
<td align=center>u7
<td align=left>User string 7
<tr valign=top><td align=center>user8
<td align=left><b>u8</b>
<td align=center>u8
<td align=left>User string 8
<tr valign=top><td align=center>user9
<td align=left><b>u9</b>
<td align=center>u9
<td align=left>User string 9
<tr valign=top><td align=center>underline_char
<td align=left><b>uc</b>
<td align=center>uc
<td align=left>Underscore one char and move past it
<tr valign=top><td align=center>up_half_line
<td align=left><b>hu</b>
<td align=center>hu
<td align=left>Half-line up (reverse 1/2 linefeed)
<tr valign=top><td align=center>wait_tone
<td align=left><b>wait</b>
<td align=center>WA
<td align=left>Wait for dial tone
<tr valign=top><td align=center>xoff_character
<td align=left><b>xoffc</b>
<td align=center>XF
<td align=left>X-off character
<tr valign=top><td align=center>xon_character
<td align=left><b>xonc</b>
<td align=center>XN
<td align=left>X-on character
<tr valign=top><td align=center>zero_motion
<td align=left><b>zerom</b>
<td align=center>Zx
<td align=left>No motion for the subsequent character
</table>
<h4><a name = "tag_002_001_004">&nbsp;</a>Sample Entry</h4>
<xref type="3" name="sampleentry"></xref>
The following entry describes the AT&amp;T 610 terminal.
<pre>
<code>
610|610bct|ATT610|att610|AT&amp;T610;80column;98key keyboard,
	am, eslok, hs, mir, msgr, xenl, xon,
	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
	acsc=&quot;aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
	civis=\E[?25l, clear=\E[H\E[J, cnorm=\E[?25h\E[?12l,
	cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
	flash=\E[?5h$&lt;200&gt;\E[?5l, fsl=\E8, home=\E[H, ht=\t,
	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, .ind=\ED$&lt;9&gt;,
	invis=\E[8m,
	is1=\E[8;0 | \E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0,
	is2=\E[0m^O, is3=\E(B\E)0, kLFT=\E[\s@, kRIT=\E[\sA,
	kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
	kcuf1=\E[C, kcuu1=\E[A, kfP=\EOc, kfP0=\ENp,
	kfP1=\ENq, kfP2=\ENr, kfP3=\ENs, kfP4=\ENt, kfI=\EOd,
	kfB=\EOe, kf4=\EOf, kf=\EOg, kf6=\EOh, kf7=\EOi,
	kf8=\EOj, kf9=\ENo, khome=\E[H, kind=\E[S, kri=\E[T,
	ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
	pfxl=\E[%p1%d;%p2%l%02dq%?%p1%{9}%&lt;%t\s\s\sF%p1%1d\s\s\s\s\s
\s\s\s\s\s\s%;%p2%s,
	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
	ri=\EM, rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[m,
	rmul=\E[m, rs2=\Ec\E[?3l, sc=\E7,
	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;
%?%p3%p1% | %t;7%;%?%p7%t;8%;m%?%p9%t^N%e^O%;,
	sgr0=\E[m^O, smacs=^N, smir=\E[4h, smln=\E[p,
	smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx,
</code>
</pre>
<h4><a name = "tag_002_001_005">&nbsp;</a>Types of Capabilities in the Sample Entry</h4>
The sample entry shows the formats for the three types of <b>terminfo</b>
capabilities:  Boolean, numeric, and string.  All capabilities specified in
the <b>terminfo</b> source file must be followed by commas, including the last
capability in the source file.  In <b>terminfo</b> source files, capabilities
are referenced by their capability names (as shown in the
<b>Capname</b>
column of the previous tables).
<h5><a name = "tag_002_001_005_001">&nbsp;</a>Boolean Capabilities</h5>
A boolean capability is true if its
<b>Capname</b>
is present in the entry, and false if its
<b>Capname</b>
is not present in the entry.
<p>
The `@' character following a
<b>Capname</b>
is used to explicitly declare that a boolean capability is false, in
situations described in
<xref href=similar_terminals></xref>.
<h5><a name = "tag_002_001_005_002">&nbsp;</a>Numeric Capabilities</h5>
Numeric capabilities are followed by the character `#' and then a positive
integer value.  The example assigns the value 80 to the <b>cols</b> numeric
capability by coding:
<pre>
<code>
cols#80
</code>
</pre>
Values for numeric capabilities may be specified in decimal, octal or
hexadecimal, using normal C-language conventions.
<h5><a name = "tag_002_001_005_003">&nbsp;</a>String Capabilities</h5>
String-valued capabilities such as <b>el</b> (clear to end of line
sequence) are listed by the
<b>Capname</b>,
an `=', and a string
ended by the next occurrence of a comma.
<p>
A delay in milliseconds may appear anywhere in such a capability,
preceded by <b>$</b> and enclosed in angle brackets, as in <b>el=\EK$&lt;3&gt;</b>.
The Curses implementation achieves delays by outputting to the terminal an
appropriate number of system-defined padding characters.  The
<i><a href="tputs.html">tputs()</a></i>
function provides delays when used to send such a capability to the terminal.
<p>
The delay can be any of the following:  a number, a number
followed by an asterisk, such as <b>5*</b>, a number followed by a slash,
such as <b>5/</b>, or a number followed by both, such as <b>5*/</b>.
<ul>
<p>
<li>
A `*' shows that the required delay is proportional to the
number of lines affected by the operation, and the amount given is the
delay required per affected unit.  (In the case of insert characters, the
factor is still the number of lines affected.  This is always 1 unless the
device has <b>in</b> and the software uses it.) When a `*' is specified, it
is sometimes useful to give a delay of the form <b>3.5</b> to specify a delay
per unit to tenths of milliseconds.  (Only one decimal place is allowed.)
<p>
<li>
A `/' indicates that the delay is mandatory and padding characters are
transmitted regardless of the setting of <b>xon</b>.
If `/' is not specified or if a device has <b>xon</b>
defined, the delay information is advisory and is only used for cost
estimates or when the device is in raw mode.  However, any delay specified
for <b>bel</b> or <b>flash</b> is treated as mandatory.
<p>
</ul>
<p>
The following notation is valid in <b>terminfo</b> source files for specifying
special characters:
<p><table  align=center><tr valign=top><th align=center><b>Notation</b>
<th align=center><b>Represents Character</b>
<tr valign=top><td align=center><b>^<i>x</i></b>
<td align=left>Control-<i>x</i> (for any appropriate <i>x</i>)
<tr valign=top><td align=center><b>\a</b>
<td align=left>Alert
<tr valign=top><td align=center><b>\b</b>
<td align=left>Backspace
<tr valign=top><td align=center><b>\E or \e</b>
<td align=left>An ESCAPE character
<tr valign=top><td align=center><b>\f</b>
<td align=left>Form feed
<tr valign=top><td align=center><b>\l</b>
<td align=left>Linefeed
<tr valign=top><td align=center><b>\n</b>
<td align=left>Newline
<tr valign=top><td align=center><b>\r</b>
<td align=left>Carriage return
<tr valign=top><td align=center><b>\s</b>
<td align=left>Space
<tr valign=top><td align=center><b>\t</b>
<td align=left>Tab
<tr valign=top><td align=center><b>\^</b>
<td align=left>Caret (^)
<tr valign=top><td align=center><b>\\</b>
<td align=left>Backslash (\)
<tr valign=top><td align=center><b>\,</b>
<td align=left>Comma (,)
<tr valign=top><td align=center><b>\:</b>
<td align=left>Colon (:)
<tr valign=top><td align=center><b>\0</b>
<td align=left>Null
<tr valign=top><td align=center><b>\<i>nnn</i></b>
<td align=left>Any character, specified as three octal digits
</table>
(See the <b>XBD</b> specification, <a href="../xbd/termios.html"><b>General Terminal Interface</b>&nbsp;</a> .)
<h5><a name = "tag_002_001_005_004">&nbsp;</a>Commented-out Capabilities</h5>
Sometimes individual capabilities must be commented out.  To do this, put a
period before the capability name.  For example, see the second <b>ind</b> in
the example in
<xref href=sampleentry><a href="#tag_002_001_004">
Sample Entry
</a></xref>.
Note that capabilities are defined in a left-to-right
order and, therefore, a prior definition will override a later definition.

</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>
